iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
自我挑戰組

PHP框架-Laravel自學挑戰系列 第 3

DAY3-初次啟動Laravel專案!Laravel程式碼架構大揭秘(上)

  • 分享至 

  • xImage
  •  

哈囉大家好!來到發文的第三天了~

昨天提到Laravel的種種優勢,現在是讓它小露身手的時候啦!今天我要創建一個Laravel的專案,並且分析程式碼的架構。
俗話說「知己知彼,百戰百勝!」在正式利用Laravel框架開發前必須先瞭解基本的程式碼語法以及撰寫邏輯,希望自己可以在前兩週熟悉基本語法,減少後面兩週做小專案時創造BUG的機會/images/emoticon/emoticon06.gif
那我們就馬上開始吧~

在正式創建Laravel專案前,必須先認識一下另一個套件工具Composer-PHP用來管理套件的工具。在沒有Composer的幫助下,在PHP檔使用套件時就必須include一次,套件需要的套件也會需要一起include,最後PHP檔的上方就會有一大坨include大烏雲,在上面盤旋無法離去QQ(下面的程式碼表示:我想念溫暖的陽光~)

這時候Composer就會化身超級吸塵器,把所有需要include的套件吸進autoload.php這個PHP檔中。所以我們只要include autoload.php就可以使用裡面的套件啦~
因為這次的分享重點注重在Laravel的分享,所以就沒有分享Composer的安裝過程。還沒安裝Composer的邦友可以到網路上搜尋教學完成安裝喔!

那麼接下來就要開始創建我的第一個Laravel專案了!
首先在想要創建專案的路徑裡打開終端機,輸入命令列來創建專案(這邊也是Composer套件工具來幫助創建專案喔)

composer create-project --prefer-dist laravel/laravel example

按下enter後就會看到終端機出現密密麻麻的執行過程,好像變形金剛的變身過程,幾秒後就可以在剛剛創建專案的路徑中看到變形金剛完整體(Laravel檔案初始型!)
最後的example是我幫這個專案取的名字,專案建立好後會在剛剛的路徑中出現名為example的檔案夾。
註:命令列中的--prefer-dist是用來告訴Composer我們偏好的下載方式,這裡我們選擇從github下載zip壓縮包緩存到本地端,下次再安裝Laravel專案時就會從本地加載,讓安裝的速度變得更快。

下方是Laravel專案的大致程式碼架構:

example/
├── app/
│   ├── Console/
│   ├── Exceptions/
│   ├── Http/
│   │   ├── Controllers/
│   │   ├── Middleware/
│   └── Providers/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
└── tests/

看到檔案夾內的資料我其實有嚇到,內容比我想像中的多呢!(果然厲害的Laravel,
要背負很多的包袱來幫助開發者QQ)

接下來先來看看一些比較基本的目錄負責什麼樣的功能:

1. app:

  • Console-負責開發時的命令列工作,開發者甚至可以設計自己的Artisan指令來完成特定任務。

  • Exceptions-顧名思義就是負責處理例外(Exception)還有錯誤(Error)的部分,程式碼會寫在Handler.php中。

  • Http-這個檔案夾裡面還有三個子目錄,分別是Controllers, Middleware, Requests。

    1. Controllers負責處理請求以及給予回應,主要控制應用程式的邏輯,是Model和View之間的橋樑(這裡callback MVC三劍客!也是Laravel專案的教條~)
    2. 需要進行認證驗證時,Middleware負責在進入route前過濾HTTP請求。
    3. Requests負責處理提交form時的驗證與認證機制。
  • Models:
    Models是儲存資料庫models(Eloquent models)的地方,Eloquent models是幫助應用程式和資料庫互動的媒介,透過Eloquent models對資料庫進行增刪查改。

  • Providers:
    我們會把要處理routes, middleware, events等程式碼放到這個目錄。其中AppServiceProvider.php這個檔案是最核心的providers,每一次的請求都會執行這個檔案。

2. bootstrap:
看到bootstrap就想到了前端的UI框架!但這裡的bootstrap是和啟動框架有關的目錄,包含了app.php這個檔案。還有一個cache目錄,包含可以讓Laravel框架效能畫的routing和services快取檔案。

3. config:
這個目錄包含了專案的所有設定檔,例如:app.php是應用程式基本配置的檔案,database.php是負責處理資料庫連接設定,mail.php是寄送郵件時的設定檔。


剩下還沒提到的部分就決定留給明天了!
認識Laravel的第三天已經可以感受到這個框架的細膩度以及功能切割的俐落~
今天也順利完成發文挑戰!耶~~/images/emoticon/emoticon81.gif
那就明天再見囉~


上一篇
DAY2-Laravel框架的特色與純PHP差異比較
下一篇
DAY4-初次啟動Laravel專案!Laravel程式碼架構大揭秘(下)
系列文
PHP框架-Laravel自學挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言